package com.realtyManage.springboot.Service;

import com.alibaba.fastjson.JSONArray;
import com.aliyun.oss.model.LiveChannelListing;
import com.realtyManage.springboot.Config.MyLog;
import com.realtyManage.springboot.Model.Do.CustomerRegistration;
import com.realtyManage.springboot.Model.Do.HouseDetail;
import com.realtyManage.springboot.Model.Vo.*;
import org.apache.poi.ss.formula.functions.T;
import org.springframework.data.domain.Page;

import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;

public interface ICustomerRegistrationService {

    List<CustomerRegistration> findAll();

    Page<CustomerRegistration> findPagedByWhereClause(CustomReEntity customReEntity);

    int saveCustomerRegistrationInfo(CustomerRegistration customerRegistration);

    List<String> findByNameLike(String houseName);

    CustomReEntity queryCountCustom(String yar);

    CustomerRegistration findByPhone(String phone);

    int findFirst(String phone,String id);

    List querySalesperson();

    void addCustomer();

    List<Object> queryCountComeSalesperson(String sTime, String eTime, String uid);

    int queryCountCustomNum(String time,String uid);

    List<Object> queryCountComeSalespersonMonth(String sTime, String eTime, String uid);

    List<String> queryCountIntention(String sTime, String eTime, String uid);

    List<String> queryCountAreaNeed(String sTime, String eTime, String uid);

    Page<CustomerRegistration> queryMyCustomerList(CustomReEntity customReEntity,Integer id);

    List<String> queryComeCustomerNum(Integer uid);

    List<String> myCustomerAnalysis(String time,Integer uid);

    List<String> myComeCustomer(String time,String areaCode,Integer uid);

    List<Object> myConversionRate(String sTime,String eTime,Integer uid);

    List<Object> teamConversionRate(String sTime,String eTime);

    List<CustomerRegistration> getMyCustomerList(Integer userId,String A,String B,String C,String D);

    List<CustomerRegistration> getTeamCustomerList();

    void updateCustomerTime(String phone);

    List<String> queryTeamCustomerList(String sTime,String eTime,Integer uid);

    ArrayList<String> queryTeamRCustomerList(String sTime,String eTime,Integer uid);

    List<Integer> queryMyCustomerListE(CustomReEntity customReEntity, Integer id);

    List<String> queryTeamECustomerList(String sTime,String eTime);

    ArrayList<String> queryTeamERCustomerList(String sTime,String eTime);

    JSONArray querySalesAnalysisOfMyCustomers(CustomReEntity customReEntity);

    Page<CustomerRegistration> teamCustomerList(CustomReEntity customReEntity);

    List<Integer> teamCustomerListE(CustomReEntity customReEntity);

    JSONArray querySalesAnalysisOfTeamCustomers(CustomReEntity customReEntity);

    JSONArray queryMyRank(CustomReEntity customReEntity);

    JSONArray queryTeamRank(CustomReEntity customReEntity);

    List<CustomerRegistration> findByLevel(String level);

    Integer updatePublicPool(CustomerRegistration customerRegistration);

    List<CustomerRegistration> queryPublicCustomerList(String name);

    Integer artificialDistribution(CustomerRegistration customerRegistration);

    Integer randomAllocation(CustomReEntity customReEntity);

    int updateComoCustom(CustomerRegistration customerRegistration);

    List<String> queryCustomerList(CustomReEntity customReEntity);

    int modifyComoCustom(CustomReEntity customReEntity);

    int transferUser(String inputUser,String outUser);

    void  saveInternetPublicUser(CustomerRegistration customerRegistration);

    List<String> fCustomer();

    int deleteFCustomer(String xnh);

    int findVirtualNumber(String virtualNumber);

    int insertCustomerEType(CustomerRegistration customerRegistration);
}
